package api.apiservice.apiopenplat.service;

import api.apiservice.apiopenplat.pojo.condition.ApiInfoIndex;
import com.baomidou.mybatisplus.extension.service.IService;
import api.apiservice.apiopenplat.pojo.access.accessPromission;
import api.apiservice.apiopenplat.pojo.add.ApiAdd;
import api.apiservice.apiopenplat.pojo.update.ApiUpdate;
import api.apiservice.apiopenplat.entity.ApiInfo;
import org.apache.dubbo.config.annotation.DubboService;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Tangshen
 * @since 2022-11-11
 */
public interface IApiInfoService extends IService<ApiInfo>, Serializable {

    boolean saveApiInfo(ApiInfo apiAdd);

    boolean updateApiInfoById(ApiUpdate apiUpdate);

    boolean delApiInfo(List<Long> idList);

    ApiInfo isExistApi(Long requestId);

    ApiInfo searchApiById(Long apiId);

    ApiInfo searchApiByUri(String apiUri);

    accessPromission getPermission(Long userId);

    boolean checkPermiession(HashMap<String, String> requestMap);

    HashMap<String,String> checkApiMessage(Long requestId);

    List<ApiInfoIndex> pageApiList();

}
